# 重写JWT响应结果的方法


def jwt_response_payload_handler(token, user=None, request=None):
    """
        自定义jwt认证成功后的返回数据
    :param token:
    :param user:
    :param request:
    :return:
    """
    return {
        'token': token,
        'username': user.username,
        'id': user.id
    }


from rest_framework.pagination import PageNumberPagination
from rest_framework.response import Response


class PageNum(PageNumberPagination):
    # 后端指定每页显示数量
    page_size = 8
    page_size_query_param = "page_size"
    max_page_size = 10

    # 重写分页的返回方法，按照指定字段进行分页
    def get_paginated_response(self, data):
        return Response({
            'count':self.page.paginator.count,  #总数量
            'lists':data,   #用户数据
            'page':self.page.number,    #当前页数
            'pages':self.page.paginator.num_pages,  #总页数
            'pagesize':self.page_size   #后端指定的页容量
        })